/******************************************************************************
 * Name    : KiLogger.hpp
 * Date    : 01-23-2015
 * Author  : Sylvain Nieuwlandt -- nicholas.rush.developper@gmail.com
 *****************************************************************************/
 
#ifndef KILOGGER_HPP
#define KILOGGER_HPP

#include <stdlib.h>
#include <exception>

#include <kino/KiObject.hpp>
#include <kino/wrapper/KiString.hpp>

class KiLogger : public KiObject {
public:
    static void initialize(KiString logFilePath);
    static void shutdown();
    static KiLogger* getInstance();
    
    virtual ~KiLogger();
    
    virtual void fatal(const char* message, std::exception* cause);
    
private:
	KiLogger() {
		/* TODO Not implemented yet */
	}
    
    static KiLogger* INSTANCE;
};

#endif
